package com.pactera.asmp.server.common.email;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * @ProjectName: asmpserver
 * @Package: com.pactera.asmp.server.common.email
 * @ClassName: IMailService
 * @Author: lvzhiqiang
 * @Description: 常用邮件接口
 * @Date: 2019/7/25 16:06
 * @Version: 1.0
 */
public interface IMailService {
    /**
     * 发送普通文本邮件
     *
     * @param to      收件人
     * @param subject 主题
     * @param content 内容
     */
    void sendSimpleMail(String to, String subject, String content);

    /**
     * 发送HTML邮件
     *
     * @param to      收件人
     * @param subject 主题
     * @param content 内容（可以包含<html>等标签）
     */
    void sendHtmlMail(String to, String subject, String content);

    /**
     * 发送带附件的邮件
     *
     * @param to       收件人
     * @param subject  主题
     * @param content  内容
     * @param filePath 附件路径
     */
    void sendAttachmentMail(String to, String subject, String content, String filePath);

    /**
     * 发送带图片的邮件
     *
     * @param to      收件人
     * @param subject 主题
     * @param content 文本
     * @param rscPath 图片路径
     * @param rscId   图片ID，用于在<img>标签中使用，从而显示图片
     */
    void sendInlineResourceMail(String to, String subject, String content, String rscPath, String rscId);

    /**
     * @Method sendBatchMailWithFile
     * @Description sendBatchMailWithFile
     * @param: [emails, ccEmails, subject, text, filePath, dataMap]
     * @return: void
     * @auther: lzq
     * @date: 2019/7/25 16:59
     */
    void sendBatchMailWithFile(String[] emails, String[] ccEmails, String subject, String text, String[] filePath) throws Exception;

    /**
     * @Method sendBatchMailByTemplate
     * @Description sendBatchMailByTemplate
     * @param: [emails, ccEmails, subject, text, filePath, tamplateName, pdfFile]
     * @return: void
     * @auther: lzq
     * @date: 2019/7/26 13:01
     */
    void sendBatchMailByTemplate(String[] emails, String[] ccEmails, String subject, String[] attachmentPath, String tamplateName, Map<String,Object> dataMap, File pdfFile, String projectName) throws Exception;


    void sendBatchMailByTemplate(String[] toEmails, String[] ccEmails, String subject, String[] attachmentPath, String tamplateName, Map<String, Object> dataMap, File pdfFile, List<File> excelFiles, Integer project) throws Exception;


}
